﻿using System;

namespace Teigha.Core
{
	public class OdGiSubEntityTraits_Internal : OdGiSubEntityTraits
	{
		public OdGiSubEntityTraits_Internal(IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
		{
		}

		public override void setColor(ushort color)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setColor(OdGiSubEntityTraits.getCPtr(this), color);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setLayer(OdDbStub layerId)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setLayer(OdGiSubEntityTraits.getCPtr(this), OdDbStub.getCPtr(layerId));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setTrueColor(OdCmEntityColor color)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setTrueColor(OdGiSubEntityTraits.getCPtr(this), OdCmEntityColor.getCPtr(color));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setLineType(OdDbStub lineTypeId)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setLineType(OdGiSubEntityTraits.getCPtr(this), OdDbStub.getCPtr(lineTypeId));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setSelectionMarker(IntPtr selectionMarker)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setSelectionMarker(OdGiSubEntityTraits.getCPtr(this), selectionMarker);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setFillType(OdGiFillType fillType)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setFillType(OdGiSubEntityTraits.getCPtr(this), (int)fillType);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setLineWeight(LineWeight lineWeight)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setLineWeight(OdGiSubEntityTraits.getCPtr(this), (int)lineWeight);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setLineTypeScale(double lineTypeScale)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setLineTypeScale__SWIG_0(OdGiSubEntityTraits.getCPtr(this), lineTypeScale);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setLineTypeScale()
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setLineTypeScale__SWIG_1(OdGiSubEntityTraits.getCPtr(this));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setThickness(double thickness)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setThickness(OdGiSubEntityTraits.getCPtr(this), thickness);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setPlotStyleName(PlotStyleNameType plotStyleNameType)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setPlotStyleName__SWIG_1(OdGiSubEntityTraits.getCPtr(this), (int)plotStyleNameType);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setPlotStyleName(PlotStyleNameType plotStyleNameType, OdDbStub plotStyleNameId)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setPlotStyleName__SWIG_0(OdGiSubEntityTraits.getCPtr(this), (int)plotStyleNameType, OdDbStub.getCPtr(plotStyleNameId));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setMaterial(OdDbStub materialId)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setMaterial(OdGiSubEntityTraits.getCPtr(this), OdDbStub.getCPtr(materialId));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override void setMapper(OdGiMapper pMapper)
		{
			GlobalsPINVOKE.OdGiSubEntityTraits_setMapper(OdGiSubEntityTraits.getCPtr(this), OdGiMapper.getCPtr(pMapper));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override ushort color()
		{
			ushort result = GlobalsPINVOKE.OdGiSubEntityTraits_color(OdGiSubEntityTraits.getCPtr(this));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override OdCmEntityColor trueColor()
		{
			IntPtr cPtr = GlobalsPINVOKE.OdGiSubEntityTraits_trueColor(OdGiSubEntityTraits.getCPtr(this));
			OdCmEntityColor result = new OdCmEntityColor(cPtr, false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override OdDbStub layer()
		{
			IntPtr cPtr = GlobalsPINVOKE.OdGiSubEntityTraits_layer(OdGiSubEntityTraits.getCPtr(this));
			OdDbStub result = new OdDbStub(cPtr, false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override OdDbStub lineType()
		{
			IntPtr cPtr = GlobalsPINVOKE.OdGiSubEntityTraits_lineType(OdGiSubEntityTraits.getCPtr(this));
			OdDbStub result = new OdDbStub(cPtr, false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override OdGiFillType fillType()
		{
			OdGiFillType result = (OdGiFillType)GlobalsPINVOKE.OdGiSubEntityTraits_fillType(OdGiSubEntityTraits.getCPtr(this));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override LineWeight lineWeight()
		{
			LineWeight result = (LineWeight)GlobalsPINVOKE.OdGiSubEntityTraits_lineWeight(OdGiSubEntityTraits.getCPtr(this));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override double lineTypeScale()
		{
			double result = GlobalsPINVOKE.OdGiSubEntityTraits_lineTypeScale(OdGiSubEntityTraits.getCPtr(this));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override double thickness()
		{
			double result = GlobalsPINVOKE.OdGiSubEntityTraits_thickness(OdGiSubEntityTraits.getCPtr(this));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override PlotStyleNameType plotStyleNameType()
		{
			PlotStyleNameType result = (PlotStyleNameType)GlobalsPINVOKE.OdGiSubEntityTraits_plotStyleNameType(OdGiSubEntityTraits.getCPtr(this));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override OdDbStub plotStyleNameId()
		{
			IntPtr cPtr = GlobalsPINVOKE.OdGiSubEntityTraits_plotStyleNameId(OdGiSubEntityTraits.getCPtr(this));
			OdDbStub result = new OdDbStub(cPtr, false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override OdDbStub material()
		{
			IntPtr cPtr = GlobalsPINVOKE.OdGiSubEntityTraits_material(OdGiSubEntityTraits.getCPtr(this));
			OdDbStub result = new OdDbStub(cPtr, false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override OdGiMapper mapper()
		{
			IntPtr cPtr = GlobalsPINVOKE.OdGiSubEntityTraits_mapper(OdGiSubEntityTraits.getCPtr(this));
			OdGiMapper result = new OdGiMapper(cPtr, false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}
	}
}
